package cauca.scsn.modelo.servicios;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;

import modelo.TipoDesgasteDataModel;
import cauca.scsn.modelo.dao.TipoDesgasteDAO;
import cauca.scsn.modelo.entidad.TipoDesgaste;

@ManagedBean
@ApplicationScoped
public class ServiciosVentanaTipoDesgaste {
	
	private TipoDesgasteDAO tipoDesgasteDAO;
	private List<TipoDesgaste> listaFiltrada;
	private List<TipoDesgaste> listaTipoDesgaste;
	private TipoDesgaste tipoDesgasteSeleccionado;
	private TipoDesgasteDataModel tipoDesgasteDataModel;

	public ServiciosVentanaTipoDesgaste(){
		super();
		tipoDesgasteDAO = TipoDesgasteDAO.getInstancia();
		listaTipoDesgaste = new ArrayList<TipoDesgaste>();
		listaFiltrada = new ArrayList<TipoDesgaste>();
		filtrarTipoDesgaste();
		setTipoDesgasteDataModel(new TipoDesgasteDataModel(listaFiltrada));
	}
	
	private List<TipoDesgaste> filtrarTipoDesgaste() {
		listaFiltrada = tipoDesgasteDAO.buscarTodasEntidades();
		for (int i=0; i < listaTipoDesgaste.size(); i++) {
			if (listaTipoDesgaste.get(i).getStatus().equals("A")) {
				listaFiltrada.add(listaTipoDesgaste.get(i));
			}
		}
		return listaFiltrada;
	}

	public TipoDesgasteDAO getTipoDesgasteDAO() {
		return tipoDesgasteDAO;
	}

	public void setTipoDesgasteDAO(TipoDesgasteDAO tipoDesgasteDAO) {
		this.tipoDesgasteDAO = tipoDesgasteDAO;
	}

	public List<TipoDesgaste> getListaFiltrada() {
		return listaFiltrada;
	}

	public void setListaFiltrada(List<TipoDesgaste> listaFiltrada) {
		this.listaFiltrada = listaFiltrada;
	}

	public List<TipoDesgaste> getListaTipoDesgaste() {
		return listaTipoDesgaste;
	}

	public void setListaTipoDesgaste(List<TipoDesgaste> listaTipoDesgaste) {
		this.listaTipoDesgaste = listaTipoDesgaste;
	}

	public TipoDesgaste getTipoDesgasteSeleccionado() {
		return tipoDesgasteSeleccionado;
	}

	public void setTipoDesgasteSeleccionado(TipoDesgaste tipoDesgasteSeleccionada) {
		this.tipoDesgasteSeleccionado = tipoDesgasteSeleccionada;
	}

	public TipoDesgasteDataModel getTipoDesgasteDataModel() {
		return tipoDesgasteDataModel;
	}

	public void setTipoDesgasteDataModel(TipoDesgasteDataModel tipoDesgasteDataModel) {
		this.tipoDesgasteDataModel = tipoDesgasteDataModel;
	}

}
